Newly manufactured products are tested to ensure they conform to operating specification requirements. Depending on the type of product, various testing techniques are used. For example, for hardware devices, such as processing devices, test fixtures are created to provide an input stimulus and monitor outputs of the device for proper responses. If, for each of the input stimulus, the output is as anticipated, the printed circuit board passes the test.
Some processing devices include built-in self-test (BIST) capabilities. Some processing devices include scan-testing as part of their BIST capabilities. A processing device may be broken down into a set of logic gates. The logic gates are linked together to form a serried of linked logic gates known as a scan chain. A set of input values, known as a scan pattern, is loaded into the inputs of the logic gates of the scan chain. Once all the logic gates of the scan chains have been assigned an input value, the input values are latched into associated logic gates. The outputs of the logic gates may then be shifted out from the scan chain. The outputs from the scan test are compared to known outputs. If the tested outputs match the known outputs, the device is considered good. If the tested outputs are not equivalent to the known outputs, the device has failed. By analyzing which outputs from the scan chain were incorrect, specific faulty portions of the processing device may be identified. While scan-testing allows specific faulty portions of a processing device to be identified, scan-testing does not test all the capabilities of a processing device.
To adequately test a particular processing device, the processing device must be tested against operating conditions in which the processing device will be used, such as through at-speed tests. General-purpose, automated test equipment is generally used to test processing devices, such as microprocessors, microcontrollers, video graphic processors, etc. A simulated design verification suite, based on a hardware description language, of an integrated circuit being tested is used to create a virtual environment to test the integrated circuit. While the automated test equipment provides flexibility such that various processing devices may be tested, it is generally a costly piece of equipment (e.g., approximately $2 Million Dollars U.S.). The development of the customized test program is somewhat time consuming, which adds additional costs to the overall automated testing process. Furthermore, while capabilities of the processing device may be verified while testing the processing device in a particular environment, specific faulty portions of the processing device may not be identified. From the above discussion it is apparent that an improved system for testing a processing device is needed.